package com.keshihao.educenter.controller;

import com.keshihao.commonutils.JwtUtils;
import com.keshihao.commonutils.R;
import com.keshihao.educenter.entity.UcenterMember;
import com.keshihao.educenter.entity.vo.RegisterVo;
import com.keshihao.educenter.service.UcenterMemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 会员表 前端控制器
 * </p>
 *
 * @author keshihao
 * @since 2020-06-17
 */
@CrossOrigin
@RestController
@RequestMapping("/educenter/member")
public class UcenterMemberController {

  @Autowired
  private UcenterMemberService memberService;



   // 登录
   @PostMapping("/login")
   public R loginUser(@RequestBody UcenterMember member) {

     // 调用service方法实现登录
     // 返回token值
     String token = memberService.login(member);

     return R.ok().data("token",token);

   }

   // 注册
   @PostMapping("/register")
   public R registerUser(@RequestBody RegisterVo registerVo) {

     memberService.register(registerVo);

     return R.ok();

   }

    // 根据token获取用户信息
    @GetMapping("/getMemberInfo")
    public R getMemberInfo(HttpServletRequest request) {
       // 调用jwt工具类的方法。根据request对象获取头信息，返回用户id
        String memberId = JwtUtils.getMemberIdByJwtToken(request);
        // 根据用户id获取用户信息
        UcenterMember member = memberService.getById(memberId);
        return R.ok().data("userInfo",member);
    }


}

